import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties 
'''
数据分析
1、打印 name、video、category列
2、打印 每个性别的种类分别有多少个
3、打印 fans 列的最大值
4、打印 fans 数量大于1000万的以及category为明星的
5、打印 videos的总和

图表：
1、不同category的账号种类分别有多少个-柱状图
2、按照country区分账号归属地-柱状图
'''
# 设置字体
font = FontProperties(fname=r"D:\\vscode_file\\python\\基础知识\\数据处理\\data\\simhei.ttf", size=14)
# 读取数据
data = pd.read_csv('D:\\vscode_file\\python\\基础知识\\数据处理\\data\\抖音.csv' )

def fun(column): # 定义函数
    plt.figure(figsize=(10, 6))    # 设置画布大小
    data[column].value_counts().plot(kind='bar') # 柱状图
    plt.title(f'{column}的统计图', fontproperties=font)    
    plt.xlabel('种类', fontproperties=font)
    plt.ylabel('数量', fontproperties=font)
    plt.xticks(rotation=90, fontproperties=font) # 设置x轴标签旋转角度
    plt.show()   # 显示图表

def fun2(column): # 定义函数
    co=df[[column,'videos','likes']].corr() # 计算相关系数 
    plt.figure(figsize=(10, 6))    # 设置画布大小
    plt.imshow(co, cmap='coolwarm', interpolation='nearest') # 热力图
    plt.colorbar() # 显示颜色条
    plt.xticks(range(len(co)), co.columns, fontproperties=font) # 设置x轴标签
    plt.yticks(range(len(co)), co.columns, fontproperties=font) # 设置y轴标签
    plt.title(f'{column}的相关系数热力图', fontproperties=font)
    plt.show()
if __name__ == '__main__':
    df=pd.DataFrame(data)  # 数据格式的转换 字典转换为数据框
    print(df[['videos']].sum()) # 打印 videos的总和
    fun('category')   
    fun('country')
    fun2('fans')